Conventionally, firewalls are located at network gateway servers and consist of one or more programs configured to protect the resources of a network from users outside the network. For example, an enterprise with an intranet that allows its workers access to the Internet may utilize a firewall to prevent outsiders from accessing data resources on the intranet and for controlling what Internet resources enterprise users have access to. Conventionally, a firewall examines each network packet to determine whether to forward the packet to its destination. For mobile users, firewalls may be configured to allow remote access to a private network via secure logon procedures and authentication certificates, etc. Firewalls may alternately or additionally be located directly on end user devices such as computing devices, cell phones and other wireless devices, etc.
By blocking unauthorized communications into and out of a network, firewalls protect against hackers who may try and compromise network security by installing unauthorized applications on one or more network devices. These unauthorized applications may allow a hacker to obtain private and/or sensitive information from one or more network devices (e.g., passwords, credit card numbers, social security numbers, web sites visited, etc.). Although effective in thwarting hackers, firewalls can present problems to legitimate network users by blocking communications of authorized applications. Often, a firewall expert is required to configure a firewall to explicitly allow authorized applications to communicate through a firewall.
Accordingly, there is a need to automatically un-block authorized applications and allow them to communicate through firewalls without requiring time consuming and expensive assistance from technical experts.